[INFO] cloning repository https://github.com/tcreeds/physics_schwartz
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tcreeds/physics_schwartz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftcreeds%2Fphysics_schwartz", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftcreeds%2Fphysics_schwartz'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd27ca70581da96b92a95cec44dd4afd3b9c0e4a
[INFO] checking tcreeds/physics_schwartz against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftcreeds%2Fphysics_schwartz" "/workspace/builds/worker-2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tcreeds/physics_schwartz on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/tcreeds/physics_schwartz
[INFO] finished tweaking git repo https://github.com/tcreeds/physics_schwartz
[INFO] tweaked toml for git repo https://github.com/tcreeds/physics_schwartz written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/tcreeds/physics_schwartz already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/bluss/rust-itertools`
[INFO] [stderr] error: the lock file /workspace/builds/worker-2/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/bluss/rust-itertools`
[INFO] [stderr]     Updating git repository `https://github.com/sebcrozet/nalgebra`
[INFO] [stderr] warning: fetching `master` branch from `https://github.com/sebcrozet/nalgebra` but the `HEAD` reference for this repository is not the `master` branch. This behavior will change in Cargo in the future and your build may break, so it's recommended to place `branch = "master"` in Cargo.toml when depending on this git repository to ensure that your build will continue to work.
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glium v0.27.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6f5cc604ef66de4a0c191d69d782f5385a02879705ec6a53dd23cafeb73d352b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6f5cc604ef66de4a0c191d69d782f5385a02879705ec6a53dd23cafeb73d352b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f5cc604ef66de4a0c191d69d782f5385a02879705ec6a53dd23cafeb73d352b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f5cc604ef66de4a0c191d69d782f5385a02879705ec6a53dd23cafeb73d352b", kill_on_drop: false }`
[INFO] [stdout] 6f5cc604ef66de4a0c191d69d782f5385a02879705ec6a53dd23cafeb73d352b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a1e6bc60c7e1939a7e45fdc750b028fbaefc2c0e342f4c1810588b7fdea294e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9a1e6bc60c7e1939a7e45fdc750b028fbaefc2c0e342f4c1810588b7fdea294e", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking smallvec v1.4.2
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]     Checking instant v0.1.6
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking adler v0.2.3
[INFO] [stderr]     Checking gimli v0.22.0
[INFO] [stderr]     Checking object v0.20.0
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking either v1.6.0
[INFO] [stderr]     Checking takeable-option v0.5.0
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling miniz_oxide v0.4.2
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling memoffset v0.5.5
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling libloading v0.6.3
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking itertools v0.9.0 (https://github.com/bluss/rust-itertools#180c4e0a)
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.35
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking getrandom v0.1.15
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking paste v0.1.18
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling glium v0.27.0
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.1.0
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking addr2line v0.13.0
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking simba v0.1.5
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking backtrace v0.3.50
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking nalgebra v0.21.1 (https://github.com/sebcrozet/nalgebra#d5cbe563)
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking winit v0.22.2
[INFO] [stderr]     Checking glutin v0.24.1
[INFO] [stderr]     Checking physics_proj v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `glium::DisplayBuild`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use glium::DisplayBuild;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ no `DisplayBuild` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Rot3`
[INFO] [stdout]   --> src/sphere.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |             rotation: Rot3::new(na::zero()),
[INFO] [stdout]    |                       ^^^^ use of undeclared type or module `Rot3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let top_left = Vec3::new(tl_x, t_y, tl_z);
[INFO] [stdout]    |                                    ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:89:37
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     let top_right = Vec3::new(tr_x, t_y, tr_z);
[INFO] [stdout]    |                                     ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:90:39
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     let bottom_left = Vec3::new(bl_x, b_y, bl_z);
[INFO] [stdout]    |                                       ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:91:40
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let bottom_right = Vec3::new(br_x, b_y, br_z);
[INFO] [stdout]    |                                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Rot3`
[INFO] [stdout]    --> src/sphere.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |         self.rotation = Rot3::new(self.angular_velocity) * self.rotation;
[INFO] [stdout]     |                         ^^^^ use of undeclared type or module `Rot3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Iso3` in `na`
[INFO] [stdout]    --> src/sphere.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |         na::Iso3::new_with_rotmat(self.position, self.rotation).to_homogeneous() * scale_mat
[INFO] [stdout]     |             ^^^^ could not find `Iso3` in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 |     sphere1.position = Vec3::new(6.0f32, 5.0, 20.0);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |     sphere1.velocity = Vec3::new(0.0f32, 0.009, 0.005);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:114:32
[INFO] [stdout]     |
[INFO] [stdout] 114 |     sphere1.angular_velocity = Vec3::new(0.0f32, 0.0, 0.0);
[INFO] [stdout]     |                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |     sphere2.position = Vec3::new(-6.0f32, 6.0, 20.0);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |     sphere2.velocity = Vec3::new(0.05f32, 0.005, 0.0);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::DisplayBuild`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use glium::DisplayBuild;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ no `DisplayBuild` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |     sphere2.angular_velocity = Vec3::new(0.0f32, 0.0, -0.0);
[INFO] [stdout]     |                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:127:48
[INFO] [stdout]     |
[INFO] [stdout] 127 |         object_list.iter().map(|s| (s.clone(), Vec3::new(1.0, 0.0, 0.0))).collect()
[INFO] [stdout]     |                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:130:40
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut softsphere = SoftBody::new(Vec3::new(0.0f32, 2.0, 20.0), 2.0f32);
[INFO] [stdout]     |                                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:132:35
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let bottom_plane = Plane::new(Vec3::new(0.0f32, -5.0, 0.0), Vec3::new(0.0f32, 1.0, 0.0), restitution);
[INFO] [stdout]     |                                   ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:132:65
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let bottom_plane = Plane::new(Vec3::new(0.0f32, -5.0, 0.0), Vec3::new(0.0f32, 1.0, 0.0), restitution);
[INFO] [stdout]     |                                                                 ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let right_plane = Plane::new(Vec3::new(10.0f32, 0.0, 0.0), Vec3::new(-1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                  ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:133:64
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let right_plane = Plane::new(Vec3::new(10.0f32, 0.0, 0.0), Vec3::new(-1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:134:33
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let left_plane = Plane::new(Vec3::new(-10.0f32, 0.0, 0.0), Vec3::new(1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                 ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let left_plane = Plane::new(Vec3::new(-10.0f32, 0.0, 0.0), Vec3::new(1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:135:33
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let back_plane = Plane::new(Vec3::new(0.0f32, 0.0, 25.0), Vec3::new(0.0f32, 0.0, -1.0), restitution);
[INFO] [stdout]     |                                 ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:135:63
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let back_plane = Plane::new(Vec3::new(0.0f32, 0.0, 25.0), Vec3::new(0.0f32, 0.0, -1.0), restitution);
[INFO] [stdout]     |                                                               ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let front_plane = Plane::new(Vec3::new(0.0f32, 0.0, 10.0), Vec3::new(0.0f32, 0.0, 1.0), restitution);
[INFO] [stdout]     |                                  ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:136:64
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let front_plane = Plane::new(Vec3::new(0.0f32, 0.0, 10.0), Vec3::new(0.0f32, 0.0, 1.0), restitution);
[INFO] [stdout]     |                                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Persp3`
[INFO] [stdout]    --> src/main.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let persp = Persp3::new(640.0 / 480.0f32, 3.1415962535 / 4.0, 0.01, 200.0).to_mat();
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type or module `Persp3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Rot3`
[INFO] [stdout]   --> src/sphere.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |             rotation: Rot3::new(na::zero()),
[INFO] [stdout]    |                       ^^^^ use of undeclared type or module `Rot3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Event` in `glutin`
[INFO] [stdout]    --> src/main.rs:199:25
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 glutin::Event::Closed => break 'main_loop,
[INFO] [stdout]     |                         ^^^^^ could not find `Event` in `glutin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |             *c = Vec3::new(1.0, 0.0, 0.0);
[INFO] [stdout]     |                  ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |             *c1 = Vec3::new(0.0, 1.0, 0.0);
[INFO] [stdout]     |                   ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |             *c2 = Vec3::new(0.0, 1.0, 0.0);
[INFO] [stdout]     |                   ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 color: *Vec3::new(1.0, 1.0, 1.0).as_array(),
[INFO] [stdout]     |                         ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout] 22  |       pub position: Vec3<f32>,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 22  |     pub position: glium::RawUniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22  |     pub position: glium::uniforms::UniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 22  |     pub position: Vec<f32>,
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout] 23  |       pub velocity: Vec3<f32>,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 23  |     pub velocity: glium::RawUniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23  |     pub velocity: glium::uniforms::UniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 23  |     pub velocity: Vec<f32>,
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:24:16
[INFO] [stdout]     |
[INFO] [stdout] 24  |       pub force: Vec3<f32>,
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 24  |     pub force: glium::RawUniformValue,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24  |     pub force: glium::uniforms::UniformValue,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 24  |     pub force: Vec<f32>,
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Rot3` in this scope
[INFO] [stdout]   --> src/sphere.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rotation: Rot3<f32>,
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |       pub angular_velocity: Vec3<f32>,
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 26  |     pub angular_velocity: glium::RawUniformValue,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26  |     pub angular_velocity: glium::uniforms::UniformValue,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 26  |     pub angular_velocity: Vec<f32>,
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:46:40
[INFO] [stdout]     |
[INFO] [stdout] 46  |       fn get_points(subdivs: u32) -> Vec<Vec3<f32>> {
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 46  |     fn get_points(subdivs: u32) -> Vec<glium::RawUniformValue> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46  |     fn get_points(subdivs: u32) -> Vec<glium::uniforms::UniformValue> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 46  |     fn get_points(subdivs: u32) -> Vec<Vec<f32>> {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:47:29
[INFO] [stdout]     |
[INFO] [stdout] 47  |           let mut points: Vec<Vec3<f32>> = vec![];
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 47  |         let mut points: Vec<glium::RawUniformValue> = vec![];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47  |         let mut points: Vec<glium::uniforms::UniformValue> = vec![];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 47  |         let mut points: Vec<Vec<f32>> = vec![];
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mat4` in crate `na`
[INFO] [stdout]    --> src/sphere.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn get_homogeneous(&self) -> na::Mat4<f32> {
[INFO] [stdout]     |                                          ^^^^ not found in `na`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Mat4` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn get_homogeneous(&self) -> glium::RawUniformValue {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub fn get_homogeneous(&self) -> glium::uniforms::UniformValue {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mat4` in this scope
[INFO] [stdout]    --> src/sphere.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                            ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Mat4` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: glium::RawUniformValue = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |         let mut scale_mat: glium::uniforms::UniformValue = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let top_left = Vec3::new(tl_x, t_y, tl_z);
[INFO] [stdout]    |                                    ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mat4` in this scope
[INFO] [stdout]    --> src/sphere.rs:147:50
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                                                  ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Mat4` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<glium::RawUniformValue>() * self.radius;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<glium::uniforms::UniformValue>() * self.radius;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:89:37
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     let top_right = Vec3::new(tr_x, t_y, tr_z);
[INFO] [stdout]    |                                     ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:90:39
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     let bottom_left = Vec3::new(bl_x, b_y, bl_z);
[INFO] [stdout]    |                                       ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]   --> src/sphere.rs:91:40
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let bottom_right = Vec3::new(br_x, b_y, br_z);
[INFO] [stdout]    |                                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Rot3`
[INFO] [stdout]    --> src/sphere.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |         self.rotation = Rot3::new(self.angular_velocity) * self.rotation;
[INFO] [stdout]     |                         ^^^^ use of undeclared type or module `Rot3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:12:9
[INFO] [stdout]     |
[INFO] [stdout] 12  |       point: Vec3<f32>,
[INFO] [stdout]     |              ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 12  |     point: glium::RawUniformValue,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12  |     point: glium::uniforms::UniformValue,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 12  |     point: Vec<f32>,
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:13:10
[INFO] [stdout]     |
[INFO] [stdout] 13  |       normal: Vec3<f32>,
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 13  |     normal: glium::RawUniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13  |     normal: glium::uniforms::UniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 13  |     normal: Vec<f32>,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:18:20
[INFO] [stdout]     |
[INFO] [stdout] 18  |       pub fn new(point: Vec3<f32>, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: glium::RawUniformValue, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18  |     pub fn new(point: glium::uniforms::UniformValue, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: Vec<f32>, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:18:39
[INFO] [stdout]     |
[INFO] [stdout] 18  |       pub fn new(point: Vec3<f32>, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: Vec3<f32>, normal: glium::RawUniformValue, restitution: f32) -> Plane {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18  |     pub fn new(point: Vec3<f32>, normal: glium::uniforms::UniformValue, restitution: f32) -> Plane {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: Vec3<f32>, normal: Vec<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:32:32
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let velocity_direction = na::dot(&sphere.velocity, &self.normal);
[INFO] [stdout]    |                                      ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let prev_dot_product = na::dot(&(sphere.position - sphere.velocity - self.point), &self.normal);
[INFO] [stdout]    |                                    ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let dot_product: f32 = na::dot(&(sphere.position - self.point), &self.normal);
[INFO] [stdout]    |                                    ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:76:32
[INFO] [stdout]     |
[INFO] [stdout] 76  |       pub fn reflect(&self, vector: Vec3<f32>) -> Vec3<f32> {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: glium::RawUniformValue) -> Vec3<f32> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: glium::uniforms::UniformValue) -> Vec3<f32> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec<f32>) -> Vec3<f32> {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:76:46
[INFO] [stdout]     |
[INFO] [stdout] 76  |       pub fn reflect(&self, vector: Vec3<f32>) -> Vec3<f32> {
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec3<f32>) -> glium::RawUniformValue {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec3<f32>) -> glium::uniforms::UniformValue {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec3<f32>) -> Vec<f32> {
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         vector - self.normal * 2.0f32 * na::dot(&vector, &self.normal) 
[INFO] [stdout]    |                                             ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/softbody.rs:30:23
[INFO] [stdout]     |
[INFO] [stdout] 30  |       pub fn new(position: Vec3<f32>, radius: f32) -> SoftBody {
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 30  |     pub fn new(position: glium::RawUniformValue, radius: f32) -> SoftBody {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30  |     pub fn new(position: glium::uniforms::UniformValue, radius: f32) -> SoftBody {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 30  |     pub fn new(position: Vec<f32>, radius: f32) -> SoftBody {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `WindowBuilder` in `glutin`
[INFO] [stdout]    --> src/main.rs:102:27
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let display = glutin::WindowBuilder::new()
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ not found in `glutin`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  | use glutin::window::WindowBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `render_buffer` in `glium`
[INFO] [stdout]    --> src/main.rs:107:46
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let depth_buffer = glium::render_buffer::DepthRenderBuffer::new(&display, glium::texture::DepthFormat::I24, 1024, 768);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^ not found in `glium::render_buffer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  | use glium::framebuffer::DepthRenderBuffer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/main.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |       normal: Vec3<f32>,
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 282 |     normal: glium::RawUniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 282 |     normal: glium::uniforms::UniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 282 |     normal: Vec<f32>,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/main.rs:283:10
[INFO] [stdout]     |
[INFO] [stdout] 283 |       mtv: Vec3<f32>,
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 283 |     mtv: glium::RawUniformValue,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 283 |     mtv: glium::uniforms::UniformValue,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 283 |     mtv: Vec<f32>,
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> src/main.rs:292:21
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let p_lhs = na::dot(&lhs.velocity, &res.normal) * lhs.mass;
[INFO] [stdout]     |                     ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> src/main.rs:293:21
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let p_rhs = na::dot(&rhs.velocity, &res.normal) * rhs.mass;
[INFO] [stdout]     |                     ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Iso3` in `na`
[INFO] [stdout]    --> src/sphere.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |         na::Iso3::new_with_rotmat(self.position, self.rotation).to_homogeneous() * scale_mat
[INFO] [stdout]     |             ^^^^ could not find `Iso3` in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     '0' ... '9' => { 
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '.'    => Some(Token::Ident(self.chars.take_while_ref(|c| match *c { 'a' ... 'z' | 'A' ... 'Z' | '_' ...
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '.'    => Some(Token::Ident(self.chars.take_while_ref(|c| match *c { 'a' ... 'z' | 'A' ... 'Z' | '_' ...
[INFO] [stdout]    |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:110
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...hile_ref(|c| match *c { 'a' ... 'z' | 'A' ... 'Z' | '_' | '.' => true, _ => false, }).collect())),
[INFO] [stdout]    |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:124
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...atch *c { 'a' ... 'z' | 'A' ... 'Z' | '_' | '.' => true, _ => false, }).collect())),
[INFO] [stdout]    |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/softbody.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |         for z in (-half_dim .. half_dim + 1) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/softbody.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             for x in (-half_dim .. half_dim + 1) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/softbody.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 for y in (-half_dim .. half_dim + 1) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |             'out: for ref mut point in softsphere.get_points_mut().iter_mut() {
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 |     sphere1.position = Vec3::new(6.0f32, 5.0, 20.0);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |     sphere1.velocity = Vec3::new(0.0f32, 0.009, 0.005);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:114:32
[INFO] [stdout]     |
[INFO] [stdout] 114 |     sphere1.angular_velocity = Vec3::new(0.0f32, 0.0, 0.0);
[INFO] [stdout]     |                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |     sphere2.position = Vec3::new(-6.0f32, 6.0, 20.0);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |     sphere2.velocity = Vec3::new(0.05f32, 0.005, 0.0);
[INFO] [stdout]     |                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |     sphere2.angular_velocity = Vec3::new(0.0f32, 0.0, -0.0);
[INFO] [stdout]     |                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:127:48
[INFO] [stdout]     |
[INFO] [stdout] 127 |         object_list.iter().map(|s| (s.clone(), Vec3::new(1.0, 0.0, 0.0))).collect()
[INFO] [stdout]     |                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:130:40
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut softsphere = SoftBody::new(Vec3::new(0.0f32, 2.0, 20.0), 2.0f32);
[INFO] [stdout]     |                                        ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:132:35
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let bottom_plane = Plane::new(Vec3::new(0.0f32, -5.0, 0.0), Vec3::new(0.0f32, 1.0, 0.0), restitution);
[INFO] [stdout]     |                                   ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:132:65
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let bottom_plane = Plane::new(Vec3::new(0.0f32, -5.0, 0.0), Vec3::new(0.0f32, 1.0, 0.0), restitution);
[INFO] [stdout]     |                                                                 ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let right_plane = Plane::new(Vec3::new(10.0f32, 0.0, 0.0), Vec3::new(-1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                  ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:133:64
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let right_plane = Plane::new(Vec3::new(10.0f32, 0.0, 0.0), Vec3::new(-1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:134:33
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let left_plane = Plane::new(Vec3::new(-10.0f32, 0.0, 0.0), Vec3::new(1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                 ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let left_plane = Plane::new(Vec3::new(-10.0f32, 0.0, 0.0), Vec3::new(1.0f32, 0.0, 0.0), restitution);
[INFO] [stdout]     |                                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:135:33
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let back_plane = Plane::new(Vec3::new(0.0f32, 0.0, 25.0), Vec3::new(0.0f32, 0.0, -1.0), restitution);
[INFO] [stdout]     |                                 ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:135:63
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let back_plane = Plane::new(Vec3::new(0.0f32, 0.0, 25.0), Vec3::new(0.0f32, 0.0, -1.0), restitution);
[INFO] [stdout]     |                                                               ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let front_plane = Plane::new(Vec3::new(0.0f32, 0.0, 10.0), Vec3::new(0.0f32, 0.0, 1.0), restitution);
[INFO] [stdout]     |                                  ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:136:64
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let front_plane = Plane::new(Vec3::new(0.0f32, 0.0, 10.0), Vec3::new(0.0f32, 0.0, 1.0), restitution);
[INFO] [stdout]     |                                                                ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Persp3`
[INFO] [stdout]    --> src/main.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let persp = Persp3::new(640.0 / 480.0f32, 3.1415962535 / 4.0, 0.01, 200.0).to_mat();
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type or module `Persp3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Event` in `glutin`
[INFO] [stdout]    --> src/main.rs:199:25
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 glutin::Event::Closed => break 'main_loop,
[INFO] [stdout]     |                         ^^^^^ could not find `Event` in `glutin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 208 |             *c = Vec3::new(1.0, 0.0, 0.0);
[INFO] [stdout]     |                  ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |             *c1 = Vec3::new(0.0, 1.0, 0.0);
[INFO] [stdout]     |                   ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |             *c2 = Vec3::new(0.0, 1.0, 0.0);
[INFO] [stdout]     |                   ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Vec3`
[INFO] [stdout]    --> src/main.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 color: *Vec3::new(1.0, 1.0, 1.0).as_array(),
[INFO] [stdout]     |                         ^^^^ use of undeclared type or module `Vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout] 22  |       pub position: Vec3<f32>,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 22  |     pub position: glium::RawUniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22  |     pub position: glium::uniforms::UniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 22  |     pub position: Vec<f32>,
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:23:19
[INFO] [stdout]     |
[INFO] [stdout] 23  |       pub velocity: Vec3<f32>,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 23  |     pub velocity: glium::RawUniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23  |     pub velocity: glium::uniforms::UniformValue,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 23  |     pub velocity: Vec<f32>,
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:24:16
[INFO] [stdout]     |
[INFO] [stdout] 24  |       pub force: Vec3<f32>,
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 24  |     pub force: glium::RawUniformValue,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24  |     pub force: glium::uniforms::UniformValue,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 24  |     pub force: Vec<f32>,
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Rot3` in this scope
[INFO] [stdout]   --> src/sphere.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rotation: Rot3<f32>,
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:26:27
[INFO] [stdout]     |
[INFO] [stdout] 26  |       pub angular_velocity: Vec3<f32>,
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 26  |     pub angular_velocity: glium::RawUniformValue,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26  |     pub angular_velocity: glium::uniforms::UniformValue,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 26  |     pub angular_velocity: Vec<f32>,
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:46:40
[INFO] [stdout]     |
[INFO] [stdout] 46  |       fn get_points(subdivs: u32) -> Vec<Vec3<f32>> {
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 46  |     fn get_points(subdivs: u32) -> Vec<glium::RawUniformValue> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46  |     fn get_points(subdivs: u32) -> Vec<glium::uniforms::UniformValue> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 46  |     fn get_points(subdivs: u32) -> Vec<Vec<f32>> {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/sphere.rs:47:29
[INFO] [stdout]     |
[INFO] [stdout] 47  |           let mut points: Vec<Vec3<f32>> = vec![];
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 47  |         let mut points: Vec<glium::RawUniformValue> = vec![];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47  |         let mut points: Vec<glium::uniforms::UniformValue> = vec![];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 47  |         let mut points: Vec<Vec<f32>> = vec![];
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mat4` in crate `na`
[INFO] [stdout]    --> src/sphere.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn get_homogeneous(&self) -> na::Mat4<f32> {
[INFO] [stdout]     |                                          ^^^^ not found in `na`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Mat4` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn get_homogeneous(&self) -> glium::RawUniformValue {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub fn get_homogeneous(&self) -> glium::uniforms::UniformValue {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mat4` in this scope
[INFO] [stdout]    --> src/sphere.rs:147:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                            ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Mat4` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: glium::RawUniformValue = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |         let mut scale_mat: glium::uniforms::UniformValue = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mat4` in this scope
[INFO] [stdout]    --> src/sphere.rs:147:50
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<Mat4<_>>() * self.radius;
[INFO] [stdout]     |                                                  ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Mat4` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<glium::RawUniformValue>() * self.radius;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |         let mut scale_mat: Mat4<f32> = na::one::<glium::uniforms::UniformValue>() * self.radius;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:12:9
[INFO] [stdout]     |
[INFO] [stdout] 12  |       point: Vec3<f32>,
[INFO] [stdout]     |              ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 12  |     point: glium::RawUniformValue,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12  |     point: glium::uniforms::UniformValue,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 12  |     point: Vec<f32>,
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:13:10
[INFO] [stdout]     |
[INFO] [stdout] 13  |       normal: Vec3<f32>,
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 13  |     normal: glium::RawUniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13  |     normal: glium::uniforms::UniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 13  |     normal: Vec<f32>,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:18:20
[INFO] [stdout]     |
[INFO] [stdout] 18  |       pub fn new(point: Vec3<f32>, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: glium::RawUniformValue, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18  |     pub fn new(point: glium::uniforms::UniformValue, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: Vec<f32>, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:18:39
[INFO] [stdout]     |
[INFO] [stdout] 18  |       pub fn new(point: Vec3<f32>, normal: Vec3<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: Vec3<f32>, normal: glium::RawUniformValue, restitution: f32) -> Plane {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18  |     pub fn new(point: Vec3<f32>, normal: glium::uniforms::UniformValue, restitution: f32) -> Plane {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 18  |     pub fn new(point: Vec3<f32>, normal: Vec<f32>, restitution: f32) -> Plane {
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:32:32
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let velocity_direction = na::dot(&sphere.velocity, &self.normal);
[INFO] [stdout]    |                                      ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let prev_dot_product = na::dot(&(sphere.position - sphere.velocity - self.point), &self.normal);
[INFO] [stdout]    |                                    ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let dot_product: f32 = na::dot(&(sphere.position - self.point), &self.normal);
[INFO] [stdout]    |                                    ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:76:32
[INFO] [stdout]     |
[INFO] [stdout] 76  |       pub fn reflect(&self, vector: Vec3<f32>) -> Vec3<f32> {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: glium::RawUniformValue) -> Vec3<f32> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: glium::uniforms::UniformValue) -> Vec3<f32> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec<f32>) -> Vec3<f32> {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/plane.rs:76:46
[INFO] [stdout]     |
[INFO] [stdout] 76  |       pub fn reflect(&self, vector: Vec3<f32>) -> Vec3<f32> {
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec3<f32>) -> glium::RawUniformValue {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec3<f32>) -> glium::uniforms::UniformValue {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 76  |     pub fn reflect(&self, vector: Vec3<f32>) -> Vec<f32> {
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]   --> src/plane.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         vector - self.normal * 2.0f32 * na::dot(&vector, &self.normal) 
[INFO] [stdout]    |                                             ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/softbody.rs:30:23
[INFO] [stdout]     |
[INFO] [stdout] 30  |       pub fn new(position: Vec3<f32>, radius: f32) -> SoftBody {
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 30  |     pub fn new(position: glium::RawUniformValue, radius: f32) -> SoftBody {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30  |     pub fn new(position: glium::uniforms::UniformValue, radius: f32) -> SoftBody {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 30  |     pub fn new(position: Vec<f32>, radius: f32) -> SoftBody {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `WindowBuilder` in `glutin`
[INFO] [stdout]    --> src/main.rs:102:27
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let display = glutin::WindowBuilder::new()
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ not found in `glutin`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  | use glutin::window::WindowBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `render_buffer` in `glium`
[INFO] [stdout]    --> src/main.rs:107:46
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let depth_buffer = glium::render_buffer::DepthRenderBuffer::new(&display, glium::texture::DepthFormat::I24, 1024, 768);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^ not found in `glium::render_buffer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  | use glium::framebuffer::DepthRenderBuffer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/main.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |       normal: Vec3<f32>,
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 282 |     normal: glium::RawUniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 282 |     normal: glium::uniforms::UniformValue,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 282 |     normal: Vec<f32>,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec3` in this scope
[INFO] [stdout]    --> src/main.rs:283:10
[INFO] [stdout]     |
[INFO] [stdout] 283 |       mtv: Vec3<f32>,
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `glium::RawUniformValue::Vec3` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 283 |     mtv: glium::RawUniformValue,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 283 |     mtv: glium::uniforms::UniformValue,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 283 |     mtv: Vec<f32>,
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> src/main.rs:292:21
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let p_lhs = na::dot(&lhs.velocity, &res.normal) * lhs.mass;
[INFO] [stdout]     |                     ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in crate `na`
[INFO] [stdout]    --> src/main.rs:293:21
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let p_rhs = na::dot(&rhs.velocity, &res.normal) * rhs.mass;
[INFO] [stdout]     |                     ^^^ not found in `na`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     '0' ... '9' => { 
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '.'    => Some(Token::Ident(self.chars.take_while_ref(|c| match *c { 'a' ... 'z' | 'A' ... 'Z' | '_' ...
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '.'    => Some(Token::Ident(self.chars.take_while_ref(|c| match *c { 'a' ... 'z' | 'A' ... 'Z' | '_' ...
[INFO] [stdout]    |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:110
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...hile_ref(|c| match *c { 'a' ... 'z' | 'A' ... 'Z' | '_' | '.' => true, _ => false, }).collect())),
[INFO] [stdout]    |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser.rs:58:124
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...atch *c { 'a' ... 'z' | 'A' ... 'Z' | '_' | '.' => true, _ => false, }).collect())),
[INFO] [stdout]    |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/softbody.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |         for z in (-half_dim .. half_dim + 1) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/softbody.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             for x in (-half_dim .. half_dim + 1) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/softbody.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 for y in (-half_dim .. half_dim + 1) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |             'out: for ref mut point in softsphere.get_points_mut().iter_mut() {
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&std::result::Result<glium::Texture2d, glium::texture::TextureCreationError>: ToColorAttachment<'_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut frame_buffer = glium::framebuffer::SimpleFrameBuffer::with_depth_buffer(&display, &color_buffer, &depth_buffer);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ToColorAttachment<'_>` is not implemented for `&std::result::Result<glium::Texture2d, glium::texture::TextureCreationError>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/glium-0.27.0/src/framebuffer/mod.rs:124:48
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...                   where C: ToColorAttachment<'a>,
[INFO] [stdout]     |                                --------------------- required by this bound in `SimpleFrameBuffer::<'a>::with_depth_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `DrawParameters<'_>` has no field named `depth_test`
[INFO] [stdout]    --> src/main.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         depth_test: glium::DepthTest::IfLess,
[INFO] [stdout]     |         ^^^^^^^^^^ `DrawParameters<'_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `depth`, `stencil`, `blend`, `color_mask`, `line_width` ... and 19 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `DrawParameters<'_>` has no field named `depth_write`
[INFO] [stdout]    --> src/main.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         depth_write: true,
[INFO] [stdout]     |         ^^^^^^^^^^^ `DrawParameters<'_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `depth`, `stencil`, `blend`, `color_mask`, `line_width` ... and 19 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear_color` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:256:22
[INFO] [stdout]     |
[INFO] [stdout] 256 |         frame_buffer.clear_color(0.0, 0.0, 0.0, 0.0);  
[INFO] [stdout]     |                      ^^^^^^^^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear_depth` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 257 |         frame_buffer.clear_depth(1.0);
[INFO] [stdout]     |                      ^^^^^^^^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:264:26
[INFO] [stdout]     |
[INFO] [stdout] 264 |             frame_buffer.draw(&sphere_buf, &sphere_indices, &program, &uniforms, &params).unwrap();
[INFO] [stdout]     |                          ^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 |             frame_buffer.draw(&sphere_buf, &sphere_indices, &program, &uniforms, &params).unwrap();
[INFO] [stdout]     |                          ^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `blit_color` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |         frame_buffer.blit_color(&source_rect, & mut display.draw(), &dest_rect, glium::uniforms::MagnifySamplerFilter::Nearest);
[INFO] [stdout]     |                      ^^^^^^^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&std::result::Result<glium::Texture2d, glium::texture::TextureCreationError>: ToColorAttachment<'_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut frame_buffer = glium::framebuffer::SimpleFrameBuffer::with_depth_buffer(&display, &color_buffer, &depth_buffer);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ToColorAttachment<'_>` is not implemented for `&std::result::Result<glium::Texture2d, glium::texture::TextureCreationError>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/glium-0.27.0/src/framebuffer/mod.rs:124:48
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...                   where C: ToColorAttachment<'a>,
[INFO] [stdout]     |                                --------------------- required by this bound in `SimpleFrameBuffer::<'a>::with_depth_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `DrawParameters<'_>` has no field named `depth_test`
[INFO] [stdout]    --> src/main.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         depth_test: glium::DepthTest::IfLess,
[INFO] [stdout]     |         ^^^^^^^^^^ `DrawParameters<'_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `depth`, `stencil`, `blend`, `color_mask`, `line_width` ... and 19 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `DrawParameters<'_>` has no field named `depth_write`
[INFO] [stdout]    --> src/main.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         depth_write: true,
[INFO] [stdout]     |         ^^^^^^^^^^^ `DrawParameters<'_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `depth`, `stencil`, `blend`, `color_mask`, `line_width` ... and 19 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/sphere.rs:130:43
[INFO] [stdout]     |
[INFO] [stdout] 130 |         glium::VertexBuffer::new(display, Self::into_vertex_list(subdivs))
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           expected `&[_]`, found struct `Vec`
[INFO] [stdout]     |                                           help: consider borrowing here: `&Self::into_vertex_list(subdivs)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[_]`
[INFO] [stdout]                   found struct `Vec<sphere::Vertex>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear_color` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:256:22
[INFO] [stdout]     |
[INFO] [stdout] 256 |         frame_buffer.clear_color(0.0, 0.0, 0.0, 0.0);  
[INFO] [stdout]     |                      ^^^^^^^^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear_depth` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 257 |         frame_buffer.clear_depth(1.0);
[INFO] [stdout]     |                      ^^^^^^^^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:264:26
[INFO] [stdout]     |
[INFO] [stdout] 264 |             frame_buffer.draw(&sphere_buf, &sphere_indices, &program, &uniforms, &params).unwrap();
[INFO] [stdout]     |                          ^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 |             frame_buffer.draw(&sphere_buf, &sphere_indices, &program, &uniforms, &params).unwrap();
[INFO] [stdout]     |                          ^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `blit_color` found for enum `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>` in the current scope
[INFO] [stdout]    --> src/main.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |         frame_buffer.blit_color(&source_rect, & mut display.draw(), &dest_rect, glium::uniforms::MagnifySamplerFilter::Nearest);
[INFO] [stdout]     |                      ^^^^^^^^^^ method not found in `std::result::Result<SimpleFrameBuffer<'_>, ValidationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/sphere.rs:130:43
[INFO] [stdout]     |
[INFO] [stdout] 130 |         glium::VertexBuffer::new(display, Self::into_vertex_list(subdivs))
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           expected `&[_]`, found struct `Vec`
[INFO] [stdout]     |                                           help: consider borrowing here: `&Self::into_vertex_list(subdivs)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[_]`
[INFO] [stdout]                   found struct `Vec<sphere::Vertex>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/sphere.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn into_buffer<F>(display: &F, subdivs: u32) -> glium::VertexBuffer<Vertex> where F: glium::backend::Facade {
[INFO] [stdout]     |                                                         --------------------------- expected `glium::VertexBuffer<sphere::Vertex>` because of return type
[INFO] [stdout] 130 |         glium::VertexBuffer::new(display, Self::into_vertex_list(subdivs))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glium::VertexBuffer`, found enum `std::result::Result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `glium::VertexBuffer<sphere::Vertex>`
[INFO] [stdout]                  found enum `std::result::Result<glium::VertexBuffer<_>, glium::vertex::BufferCreationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]  --> src/sphere.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use na::*;
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]  --> src/plane.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use na::*;
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]   --> src/softbody.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use na::*;
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec_tools`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use vec_tools::*;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use na::*;
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::Surface`
[INFO] [stdout]   --> src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     use glium::Surface;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 69 previous errors; 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0412, E0425, E0432, E0433, E0560, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `physics_proj`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/sphere.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn into_buffer<F>(display: &F, subdivs: u32) -> glium::VertexBuffer<Vertex> where F: glium::backend::Facade {
[INFO] [stdout]     |                                                         --------------------------- expected `glium::VertexBuffer<sphere::Vertex>` because of return type
[INFO] [stdout] 130 |         glium::VertexBuffer::new(display, Self::into_vertex_list(subdivs))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glium::VertexBuffer`, found enum `std::result::Result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `glium::VertexBuffer<sphere::Vertex>`
[INFO] [stdout]                  found enum `std::result::Result<glium::VertexBuffer<_>, glium::vertex::BufferCreationError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]  --> src/sphere.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use na::*;
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]  --> src/plane.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use na::*;
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]   --> src/softbody.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use na::*;
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec_tools`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use vec_tools::*;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `na`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use na::*;
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::Surface`
[INFO] [stdout]   --> src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     use glium::Surface;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 69 previous errors; 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0412, E0425, E0432, E0433, E0560, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "9a1e6bc60c7e1939a7e45fdc750b028fbaefc2c0e342f4c1810588b7fdea294e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a1e6bc60c7e1939a7e45fdc750b028fbaefc2c0e342f4c1810588b7fdea294e", kill_on_drop: false }`
[INFO] [stdout] 9a1e6bc60c7e1939a7e45fdc750b028fbaefc2c0e342f4c1810588b7fdea294e
